In the past, personal computer systems worked as stand-alone units, and a computer system was used by a single user at a time. In this situation, it was relatively easy to monitor the total usage of various computer system resources (e.g., the display, or a file or document located on the hard disk) because a computer system can typically monitor the activities of its own users. However, as computers have become increasingly interconnected through computer networks, a user of one computer system has gained the ability to access and use resources on another computer system, and multiple computer users can often use a single resource at the same time. For example, multiple users can download the same file to their local computer systems from a remote computer system, and access the file simultaneously. As the World Wide Web (WWW) has become increasingly popular, a computer file or webpage on a single computer has become accessible to millions of users.
If a computer system's resource is being accessed by users of other computer systems, it can be difficult for the computer system providing the resource to accurately measure the usage of its resource because a computer system cannot typically monitor the activities of users of other computer systems. For example, the remote computer system providing a file may not be able to determine details such as the total number of different users that have viewed the file (because a single user could repeatedly view the file, or a single user could make copies of the file and provide these copies to other users), the total amount of time that the file has been viewed, or any personal information about the specific users that have viewed the file. If the computer system cannot detect all of the usage activities of various users from other computer systems who can use a computer system resource, it cannot measure the total usage of the resource.
It is useful to know the total usage of a computer system resource for a variety of reasons. For example, it is often useful to know the total load (i.e., the total amount of work being requested) for a resource or for a device providing a resource. If a particular file is being accessed by too many users at the same time, then the ability of the computer system or resource to provide a prompt response to user requests is hindered. If the problem is identified, however, steps can typically be taken to adjust the load and provide better response to users.
In addition to monitoring loads, the total usage of a computer system resource is important for a resource with an attribute or characteristic related to usage. For example, a fee can be charged based on the usage of a computer system resource, such as a file or executable computer program that is leased on a per-use basis (e.g., 10.cent. per minute while the program is in use). Similarly, advertisers typically pay rates for advertisements based on factors related to the number and type of people viewing the advertisement and the total amount of time that the advertisement is viewed. Thus, if an advertisement were attached to or associated with a file being viewed by users, the time spent viewing the file would be an important attribute related to usage. However, if the only usage information that can be detected for a file is the total number of times that the file is accessed and viewed, this information would be insufficient for a file owner who wishes to base viewing charges on the total amount of time that the file is viewed, or wishes to sell advertising space within the file based upon the total number of users who have accessed the file for a total amount of time. In the case of advertisers, it is particularly important to have access to demographic information about the users (ie., age, sex, race, religion, occupation, income, hobbies, etc.), because advertisers typically wish to target their advertisement to particular subgroups of the general population. As a result, various methods have been developed to rate different advertising media on the basis of their ability to attract viewers with desired demographic information.
Existing methods to track total usage of computer system resources suffer from various drawbacks. As described above, when a computer system tries to track usage of a resource it has provided (e.g., the number of times that a provided file is accessed), the computer system cannot typically measure as much usage information as is needed. Another method of estimating total usage information involves surveying a representative sample group of users by asking them to manually record information about their usage activities. The information from the sample users is then extrapolated to cover the larger group of all users who have access to the computer resource, thus providing an estimate of the total usage by all users. However, this method lacks a reliable mechanism for verifying the accuracy of the data recorded by the users, and is too time-consuming for many users to participate.
When the usage information that is desired involves activities other than merely viewing information, the problems with determining the total usage of a resource are compounded. Webpages (i.e., WWW documents, often part of a larger website) often provide more than a static display of information, such as the inclusion of textual information that can be modified, audio or video information that can be downloaded and/or played, images that can be viewed or manipulated, programs that can be executed, options that can be selected, information that can be selected and viewed in greater detail, etc. Thus, the usage activities associated with such files have become increasingly diverse, and traditional methods of resource usage estimation have increasing difficulty in monitoring this variety of usage activities.